import request from "@/utils/request";

import type {
  TrademarkModel,
  TrademarkListModel,
  TrademarkPageListModel,
} from "./model/trademarkModel";

// 定义接口的枚举类型
enum Api {
  GetAllTrademarkList = "/admin/product/baseTrademark/getTrademarkList", // 所有品牌列表
  GetTrademarkList = "/admin/product/baseTrademark", // 品牌分页列表
  SaveTrademark = "/admin/product/baseTrademark/save", // 新增品牌
  UpdateTrademark = "/admin/product/baseTrademark/update", // 修改品牌
  DeleteTrademark = "/admin/product/baseTrademark/remove/", // 删除品牌
}

// 获取所有品牌列表
export const getAllTrademarkListApi = () => {
  return request.get<any, TrademarkListModel>(Api.GetAllTrademarkList);
};

// 获取品牌分页列表
export const getTrademarkListApi = (page: number, limit: number) => {
  return request.get<any, TrademarkPageListModel>(
    Api.GetTrademarkList + `/${page}/${limit}`
  );
};

// 新增品牌（参数是逐个顺序传递，项目开发的时候其实并不建议这么做）
export const saveTrademarkApi = (tmName: string, logoUrl: string) => {
  return request.post<any, null>(Api.SaveTrademark, { tmName, logoUrl });
};

// 修改品牌（参数是无序对象，开发的时候建议传递的都是对象类型）
export const updateTrademarkApi = (tm: TrademarkModel) => {
  return request.put<any, null>(Api.UpdateTrademark, tm);
};

// 删除品牌
export const deleteTrademarkApi = (id: number) => {
  return request.delete<any, null>(Api.DeleteTrademark + `/${id}`);
};
